// 格式化时间 （2023-03-16 22:00:00）
function DateFormat(timestamp) {
    var time = String(timestamp).length === 10 ? new Date(parseInt(timestamp) * 1000) : new Date(parseInt(timestamp))
    var y = time.getFullYear() // 年
    var m = time.getMonth() + 1 // 月
    if (m < 10) {
        m = '0' + m
    }
    var d = time.getDate() // 日
    if (d < 10) {
        d = '0' + d
    }
    var h = time.getHours() // 时
    if (h < 10) {
        h = '0' + h
    }
    var mm = time.getMinutes() // 分
    if (mm < 10) {
        mm = '0' + mm
    }
    var s = time.getSeconds() // 秒
    if (s < 10) {
        s = '0' + s
    }
    var timeStr = y + '-' + m + '-' + d + ' ' + h + ':' + mm + ':' + s
    return timeStr
}

// 倒计时参数为结束时间时间戳
function countDownStamp(inputTime) {
    let nowTime = +new Date(); // 返回的是当前时间总的毫秒数
    let times = (inputTime - nowTime) / 1000; // times是剩余时间总的秒数 

    // let day = parseInt(times / 60 / 60 / 24); //天

    // let h = parseInt(times / 60 / 60 % 24); //时
    // h = h < 10 ? '0' + h : h;

    let m = parseInt(times / 60 % 60); // 分
    m = m < 10 ? '0' + m : m;

    let s = parseInt(times % 60); // 当前的秒
    s = s < 10 ? '0' + s : s;
    return `${m}分钟${s}秒`
}

// 倒计时参数为结束时间字符串
function countDown(inputTime) {
    inputTime = +new Date(inputTime)
    let nowTime = +new Date(); // 返回的是当前时间总的毫秒数
    let times = (inputTime - nowTime) / 1000; // times是剩余时间总的秒数 

    let day = parseInt(times / 60 / 60 / 24); //天

    let h = parseInt(times / 60 / 60 % 24); //时
    h = h < 10 ? '0' + h : h;

    let m = parseInt(times / 60 % 60); // 分
    m = m < 10 ? '0' + m : m;

    let s = parseInt(times % 60); // 当前的秒
    s = s < 10 ? '0' + s : s;
    return `${day}天${h}小时${m}分钟${s}秒`
}

// js浮点数精度计算问题
function accMul(arg1, arg2) {
    let m = 0, s1 = arg1.toString(), s2 = arg2.toString();
    try { m += s1.split(".")[1].length } catch (e) { }
    try { m += s2.split(".")[1].length } catch (e) { }
    let numStr = Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
    return numStr
}

function showModal(text, fn) {
    wx.showModal({
        title: '提示',
        content: '是否撤销售后申请',
        showCancel: true,
        confirmText: text,
        success(res) {
            if (res.confirm) {
                fn.apply()
            } else if (res.cancel) {
                showToast('已取消')
            }
        }
    })
}

function showLoading(text) {
    wx.showLoading({
        title: text
    });
}

function hideLoading() {
    wx.hideLoading();
}

function showSuccess(text) {
    wx.showToast({
        title: text,
    });
}

function showFail(text) {
    wx.hideLoading();
    showToast(text);
}

function showToast(text) {
    wx.showToast({
        title: text,
        icon: 'none'
    });
}

function goBack() {
    wx.navigateBack();
}

function saveAppValue(key, value) {
    wx.setStorageSync(key, value);
}

function getAppValue(key) {
    return wx.getStorageSync(key);
}

module.exports = {
    showLoading,
    hideLoading,
    showSuccess,
    showFail,
    showToast,
    goBack,
    saveAppValue,
    getAppValue,
    accMul,
    countDown,
    countDownStamp,
    showModal,
    DateFormat
}
